package ms.maplestory.boot.enums.stage;

/**
 * 角色数据掩码
 */
public enum CharDataFlag {

    All(0xFFFFFFFFFFFFFFFFL),
    Character(0x1),
    Money(0x2),
    ItemSlotEquip(0x4),
    ItemSlotConsume(0x8),
    ItemSlotInstall(0x10),
    ItemSlotEtc(0x20),
    ItemSlotCash(0x40),
    InventorySize(0x80),
    SkillRecord(0x100),
    QuestRecord(0x200),
    MiniGameRecord(0x400),
    RingRecord(0x800),
    MapTransfer(0x1000),
    QuestComplete(0x4000),
    SkillCoolTime(0x8000),
    NewYearCardRecord(0x40000),
    QuestRecordEx(0x80000),
    EquipExtExpire(0x100000),
    Jaguar(0x200000),
    QuestCompleteOld(0x400000),
    ItemPot(0x800000);

    public long flag;

    CharDataFlag(long flag) {
        this.flag = flag;
    }

    public long get() {
        return flag;
    }

    public boolean isInMask(CharDataFlag mask) {
        return (mask.get() & get()) != 0;
    }
}
